home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 11 / CU Amiga Magazine's Super CD-ROM 11 (1997)(EMAP Images)(GB)(Track 1 of 3)[!][issue 1997-06].iso / cucd / programming / oberonv4 / source / system / amigaasl.mod (.txt) < prev    next >
Oberon Text  |  1996-06-02  |  4KB  |  113 lines

  1. Syntax10.Scn.Fnt
  2. Syntax10i.Scn.Fnt
  3. Syntax10b.Scn.Fnt
  4. MODULE AmigaAsl;    (* updated OJ 30 Apr 96 *)
  5. IMPORT
  6.     SYSTEM, E:=AmigaExec, U:=AmigaUtility;
  7.     aslBase- : E.LibraryPtr;
  8.     aslVersion- : INTEGER;
  9.     termEntry : E.TermEntry;
  10.     dummy : LONGINT;
  11. CONST
  12.  aslName*="asl.library";
  13.  aslScreenModeRequest*=2;
  14.  aslTB*=U.user+80000H;
  15.  tsmWindow*=aslTB+2;
  16.  tsmScreen*=aslTB+40;
  17.  tsmPubScreenName*=aslTB+41;
  18.  tsmPrivateIDCMP*=aslTB+42;
  19.  tsmIntuiMsgFunc*=aslTB+70;
  20.  tsmSleepWindow*=aslTB+43;
  21.  tsmUserData*=aslTB+52;
  22.  tsmTextAttr*=aslTB+51;
  23.  tsmLocale*=aslTB+50;
  24.  tsmTitleText*=aslTB+1;
  25.  tsmPositiveText*=aslTB+18;
  26.  tsmNegativeText*=aslTB+19;
  27.  tsmInitialLeftEdge*=aslTB+3;
  28.  tsmInitialTopEdge*=aslTB+4;
  29.  tsmInitialWidth*=aslTB+5;
  30.  tsmInitialHeight*=aslTB+6;
  31.  tsmInitialDisplayID*=aslTB+100;
  32.  tsmInitialDisplayWidth*=aslTB+101;
  33.  tsmInitialDisplayHeight*=aslTB+102;
  34.  tsmInitialDisplayDepth*=aslTB+103;
  35.  tsmInitialOverscanType*=aslTB+104;
  36.  tsmInitialAutoScroll*=aslTB+105;
  37.  tsmInitialInfoOpened*=aslTB+106;
  38.  tsmInitialInfoLeftEdge*=aslTB+107;
  39.  tsmInitialInfoTopEdge*=aslTB+108;
  40.  tsmDoWidth*=aslTB+109;
  41.  tsmDoHeight*=aslTB+110;
  42.  tsmDoDepth*=aslTB+111;
  43.  tsmDoOverscanType*=aslTB+112;
  44.  tsmDoAutoScroll*=aslTB+113;
  45.  tsmPropertyFlags*=aslTB+114;
  46.  tsmPropertyMask*=aslTB+115;
  47.  tsmMinWidth*=aslTB+116;
  48.  tsmMaxWidth*=aslTB+117;
  49.  tsmMinHeight*=aslTB+118;
  50.  tsmMaxHeight*=aslTB+119;
  51.  tsmMinDepth*=aslTB+120;
  52.  tsmMaxDepth*=aslTB+121;
  53.  tsmFilterFunc*=aslTB+122;
  54.  tsmCustomSMList*=aslTB+123;
  55.  ScreenModeRequester*=RECORD
  56.   displayID*:LONGINT;
  57.   displayWidth*:LONGINT;
  58.   displayHeight*:LONGINT;
  59.   displayDepth*:INTEGER;
  60.   overscanType*:INTEGER;
  61.   autoScroll*:INTEGER; (* BOOL *)
  62.   bitMapWidth*:LONGINT;
  63.   bitMapHeight*:LONGINT;
  64.   leftEdge*:INTEGER;
  65.   topEdge*:INTEGER;
  66.   width*:INTEGER;
  67.   height*:INTEGER;
  68.   infoOpened*:INTEGER; (* BOOL *)
  69.   infoLeftEdge*:INTEGER;
  70.   infoTopEdge*:INTEGER;
  71.   infoWidth*:INTEGER;
  72.   infoHeight*:INTEGER;
  73.   userData*:LONGINT
  74.  END;
  75. PROCEDURE -ReturnD0    04EH,05EH,  04EH,075H;
  76. PROCEDURE AllocAslRequest*(type:LONGINT; tags:ARRAY OF U.TagItem):LONGINT;
  77. BEGIN
  78.     SYSTEM.PUTREG( 8, SYSTEM.ADR(tags) );
  79.     SYSTEM.PUTREG( 0, type );
  80.     SYSTEM.CALL( -48, aslBase );
  81.     ReturnD0
  82. END AllocAslRequest;
  83. PROCEDURE AslRequest*(request:LONGINT; tags:ARRAY OF U.TagItem):BOOLEAN;
  84. BEGIN
  85.     SYSTEM.PUTREG( 9, SYSTEM.ADR(tags) );
  86.     SYSTEM.PUTREG( 8, request );
  87.     SYSTEM.CALL( -60, aslBase );
  88.     SYSTEM.GETREG( 0, dummy );
  89.     RETURN dummy#E.false
  90. END AslRequest;
  91. PROCEDURE FreeAslRequest*(request:LONGINT);
  92. BEGIN
  93.     SYSTEM.PUTREG( 8, request );
  94.     SYSTEM.CALL( -54, aslBase )
  95. END FreeAslRequest;
  96. PROCEDURE Init;
  97. TYPE LibraryPtr=POINTER TO E.Library;
  98. VAR lib:LibraryPtr;
  99. BEGIN
  100.     aslBase:=E.OpenLibrary(aslName,37);
  101.     IF aslBase=0 THEN HALT(99) END;
  102.     lib:=SYSTEM.VAL(LibraryPtr,aslBase);
  103.     aslVersion:=lib.version
  104. END Init;
  105. PROCEDURE Term;
  106. BEGIN
  107.     E.CloseLibrary( aslBase )
  108. END Term;
  109. BEGIN
  110.     Init;
  111.     E.Register(termEntry, Term);
  112. END AmigaAsl.
  113.